Portable devices, such as personal digital assistants (PDAs) and cell phones, are becoming increasingly common. These portable devices have grown more complex over time, incorporating many features including, for example, MP3 player capabilities, web browsing capabilities, and the like. The storage capacity and performance of the hard drives of these portable devices, however, can be limited. As a result, certain tasks that are typically executed instantaneously on a desktop computer, such as displaying images for a graphical user interface, may take significantly longer on a portable device.
One image file format used to store and display such images includes the Portable Networks Graphics (PNG) format. Like the Graphics Interchange Format (GIF), the PNG format can be a good choice for text, logos, or graphics including sharp transitions or lines. Unlike GIF, however, the PNG format has the benefit of having an open, extensible file format. The PNG format also offers many useful features that may not be offered by older formats, such as for example, interlacing, full alpha-transparency and lossless compression.
The PNG format also offers several security checks during decoding or decompression. For example, the data in each PNG file is divided into sections or chunks and each chunk typically includes at least one redundancy check or checksum, allowing a decoder to detect corrupted data. Such checks are necessary, especially when a PNG file is downloaded from the Internet or an unknown source. If the file is coming from a source known to be secure, however, then such measures can sometimes unnecessarily delay the display of the image, especially on a portable device that has limited hard drive capability.